// The overall architecture of the server, as well as many implementation details,
// follow closely the code in `actix-server`.
//
// Copyright (c) 2017-NOW Actix Team
//
// Permission is hereby granted, free of charge, to any
// person obtaining a copy of this software and associated
// documentation files (the "Software"), to deal in the
// Software without restriction, including without
// limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software
// is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice
// shall be included in all copies or substantial portions
// of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
//! An HTTP [`Server`] and its supporting types, the toolkit you need to launch your Pavex application.
//!
//! Check out [`Server`]'s documentation for more information.
pub use configuration::ServerConfiguration;
pub use incoming::IncomingStream;
pub use server::Server;
pub use server_handle::ServerHandle;
pub use shutdown_mode::ShutdownMode;

mod configuration;
mod incoming;
#[allow(clippy::module_inception)]
mod server;
mod server_handle;
mod shutdown_mode;
mod worker;
